﻿Ext.define('Sys.ux.PageSizeChange', {
			extend : 'Ext.util.Observable',
			prefixText : '每页显示 ',
			postfixText : '条',
			addToItem : true, // true添加到items中去，配合index；false则直接添加到最后
			index : 11, // 在items中的位置
			init : function(pagingToolbar) {
				var changeNum = new Ext.form.field.Number({
							maxValue : 500,
							minValue : 10,
							value : pagingToolbar.store.pageSize,
							step : 20,
							width : pagingToolbar.inputItemWidth * 1.6,
							enableKeyEvents : true,
							mouseWheelEnabled : true,
							keyNavEnabled : true,
							selectOnFocus : true,
							allowDecimals : false,
							listeners : {
								blur : function(field, The, eOpts) {
									if (!field.isValid()) {
										field.focus(true, true);
										return false;
									}
									var num = field.getValue();
									if (num != pagingToolbar.store.pageSize) {
										pagingToolbar.store.pageSize = num;
										pagingToolbar.doRefresh();
									}
								},
								keydown : function(field, e) {
									if (e.getKey() == e.ENTER) {
										e.stopEvent();
										this.fireEvent('blur', field);
									}
								}
							}
						});
				if (this.addToItem) {
					var inputIndex = this.index;
					if (inputIndex > pagingToolbar.items.length)
						inputIndex = pagingToolbar.items.length;
					pagingToolbar.insert(inputIndex, '-');
					pagingToolbar.insert(inputIndex, this.postfixText);
					pagingToolbar.insert(inputIndex, changeNum);
					pagingToolbar.insert(inputIndex, this.prefixText);
				} else {
					pagingToolbar.add('-');
					pagingToolbar.add(this.prefixText);
					pagingToolbar.add(changeNum);
					pagingToolbar.add(this.postfixText);
				}
				pagingToolbar.on({
							beforedestroy : function() {
								changeNum.destroy();
							},
							change : function() {
								changeNum
										.setValue(pagingToolbar.store.pageSize);

							}
						});

			}
		})